﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using CommandLine;
using Happy.Utils;

namespace CopyFiles
{
    class Program
    {
        static void Main(string[] args)
        {
            var options = new Options();
            if (Parser.Default.ParseArguments(args, options))
            {
                FileUtil.CopyFiles(
                    options.SourcePath,
                    options.SearchPattern,
                    options.TargetPath,
                    (sourceFile, targetFile) =>
                    {
                        options.WriteLine("拷贝文件：{0} 到 {1}", sourceFile, targetFile);
                    },
                    (exceptionInfo) =>
                    {
                        options.WriteLine(exceptionInfo.Exception.Message);

                        exceptionInfo.ExceptionHandled = true;
                    },
                    options.AllDirectories,
                    options.Overwrite);
            }
        }
    }
}
